package com.dormitory.management.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dormitory.management.system.entity.Repair;
import com.dormitory.management.system.req.*;
import com.dormitory.management.system.resp.RepairResp;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 报修表 服务类
 * </p>
 *
 * @author
 * @since 2021-12-17
 */
public interface RepairService extends IService<Repair> {

    /**
     * 添加维修报单
     * @param req 插入内容
     * @return
     */
    boolean save(RepairSaveReq req);

    /**
     * 删除维修报单
     * @param id 维修报单id
     * @return
     */
    boolean delete(Long id);

    /**
     * 更新维修报单 学生修改
     * @param req 更新内容
     * @return
     */
    boolean update(RepairUpdateReq req);

    /**
     * 更新维修报单 学生申报
     * @param req 申报内容
     * @return
     */
    boolean updateAppeal(RepairAppealReq req);

    /**
     * 更新维修报单状态
     * @param req 状态
     * @return
     */
    boolean updateStatus(RepairStatusReq req);

    /**
     * 根据查询条件分页查询
     * @param req 查询条件
     * @return 分页列表
     */
    IPage<RepairResp> getPage(RepairPageReq req);
}
